#pragma once
#include <windows.h>
#include <windowsx.h>
#include "DLL.h"
#include "resource.h"

class ChatWindow
{
public:
	static LRESULT CALLBACK WndProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
	static LRESULT CALLBACK AuthenticationProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
	static LRESULT CALLBACK NewAccountProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
	static LRESULT CALLBACK RemoveAccountProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
	HWND hWnd, hFormView;
	HINSTANCE hInstance;
	LPCWSTR WindowClassName;

public:
	ChatWindow();
	~ChatWindow();

	virtual ATOM RegisterWindowClass() = 0;
	BOOL ShowWindow(int iCmdShow);
	BOOL UpdateWindow();
	HWND GetHandle();
	VOID SetFormViewHandle(HWND hWnd);

	virtual VOID AuthenticationVerified(TCHAR *login, int userType) = 0;
	virtual VOID SendTheMessage() = 0;
	virtual VOID PerformLogout() = 0;
	virtual VOID CloseWindow() = 0;
};

